package com.framework.model.system.vo;

import com.framework.common.annotation.QueryParam;
import com.framework.model.system.SystemMenu;
import java.io.Serializable;
import java.util.List;

/**
 * @author 龘鵺
 * @className com.framework.model.system.vo
 * @description 系统菜单视图类
 * @datetime 2025-01-09 11:11:11
 * @version 1.0
 */
public class SystemMenuVo extends SystemMenu implements Serializable {
    /**
     * 上级菜单名称
     */
    @QueryParam(code = "sm.NAME")
    private String parentName;
    /**
     * 上级菜单层级,顶级菜单为0因为只有一个，模块菜单为1有多个(如：系统管理，XXX管理),每级菜单根据上级菜单来自增1设置菜单级别 LEVEL
     */
    private Integer parentLevel;
    /**
     * 上级菜单ID集合
     */
    private List<Long> parentIds;
    /**
     * 子菜单集合
     */
    private List<SystemMenuVo> childMenuList;
    /**
     * 按钮代码集合
     */
    private List<String> buttonCodeList;

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName == null ? null : parentName.trim();
    }

    public Integer getParentLevel() {
        return parentLevel;
    }

    public void setParentLevel(Integer parentLevel) {
        this.parentLevel = parentLevel;
    }

    public List<Long> getParentIds() {
        return parentIds;
    }

    public void setParentIds(List<Long> parentIds) {
        this.parentIds = parentIds;
    }

    public List<SystemMenuVo> getChildMenuList() {
        return childMenuList;
    }

    public void setChildMenuList(List<SystemMenuVo> childMenuList) {
        this.childMenuList = childMenuList;
    }

    public List<String> getButtonCodeList() {
        return buttonCodeList;
    }

    public void setButtonCodeList(List<String> buttonCodeList) {
        this.buttonCodeList = buttonCodeList;
    }
}
